package cn.edu.gsau.info.service;

import cn.edu.gsau.info.models.*;
import cn.edu.gsau.info.vo.ZhuanlizhuanzhuRules;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;


/**
 * @BelongsProject: IZhuanlizhuanzhuService
 * @BelongsPackage: cn.edu.gsau.info.service
 * @Author: qsy
 * @CreateTime: 2022/11/19
 * @Description:
 * @Version: 1.0
 */
public interface IZhuanlizhuanzhuService extends IService<Zhuanlizhuanzhu> {

    /**
     * @Description 分页和流程状态搜索所有专利软著
     * @Param [ruler]  分页信息
     * @return com.baomidou.mybatisplus.core.metadata.IPage
     * @Date 2022/11/23 17:03
     * @Author qsy
     **/
    IPage selectZhuanlizhuanzhuByStatus(ZhuanlizhuanzhuRules rules);

    /**
     * @Description 根据用户id修改单条专利专著
     * @Param [user,form,id]
     * @return cn.edu.gsau.info.models.Zhuanlizhuanzhu
     * @Date 2022/11/27 20:03
     * @Author qsy
     **/
    Zhuanlizhuanzhu updateInfo(User user, Zhuanlizhuanzhu form, long id);

    /**
     * @Description 根据用户id添加专利专著
     * @Param [user,form,id]
     * @return cn.edu.gsau.info.models.Zhuanlizhuanzhu
     * @Date 2022/11/26 20:03
     * @Author qsy
     **/
    boolean addInfo(User user,Zhuanlizhuanzhu form);

    /**
     * @Description 分页和节点搜索所有专利软著
     * @Param [ruler]  分页信息
     * @return com.baomidou.mybatisplus.core.metadata.IPage
     * @Date 2022/11/25 17:03
     * @Author qsy
     **/
    IPage selectZhuanlizhuanzhuByNode(ZhuanlizhuanzhuRules rules);

    /**
     * @Description 添加审核流程
     * @Param [shenHe]
     * @return boolean
     * @Date 2022/11/30 9:03
     * @Author qsy
     **/
    boolean addShenHe(Shenhe shenHe);

    /**
     * @Description 根据项目id查询最后的审核记录
     * @Param [recoreId]
     * @return cn.edu.gsau.info.models.ShenHe;
     * @Date 2022/11/29 19:50
     * @Author qsy
     **/
    Shenhe findEndShenHe(long recoreId);
}
